package org.iabako.shared.iservice.business;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import org.iabako.shared.entity.business.AbstractEntity;
import org.iabako.shared.entity.business.Payment;
import org.iabako.shared.entity.business.Sale;
import org.iabako.shared.exception.IabakoPackageForbiddenException;
import org.iabako.shared.iservice.generic.CRUDService;
import org.iabako.shared.iservice.generic.SearchService;

import java.util.List;

/**
 * Created by jose on 28/08/14.
 */
@RemoteServiceRelativePath("iabakoServices/paymentService")
public interface PaymentService extends SearchService, CRUDService, RemoteService {

    Payment save(Payment payment, boolean noTrack) throws IabakoPackageForbiddenException;

    Payment save(Payment payment) throws IabakoPackageForbiddenException;

    List<Payment> getBySale(Sale entity);

    Boolean remove(Payment payment, boolean noTrack);
}
